﻿using System;
using System.Collections.Generic;
using System.Linq;
using Ext.Net;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Sio.Mdm.Entities;
using Sio.Mdm.Types.Database;
using Sio.Mdm.Client;
using Sio.Mdm.BF.Idm;

namespace Sio.Mdm.Web.Organizacija
{
    public partial class SkupinaDodajClane : Sio.Mdm.Web.Controls.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected override void OnLoad(EventArgs e)
        {

            if (!IsPostBack && !X.IsAjaxRequest)
            {

            }
            OsveziSeznamKandidatov(e);
        }

        private void OsveziSeznamKandidatov(EventArgs arg)
        {
            EntityCollection<SkupinaKandidati> kandidati = new EntityCollection<SkupinaKandidati>(
                    new Filter<SkupinaKandidati>(getInputInteger("skupinaid")));

            StoreSkupinaSeznam.DataSource = kandidati;
            StoreSkupinaSeznam.DataBind();
        }

        protected void DodajClane(object sender, DirectEventArgs e)
        {
            List<int> TipiObjektov = e.GetIdList<int>("selected", "TipObjektaId");
            List<int> Kljuci = e.GetIdList<int>("selected", "KljucId");
            if (Kljuci.Count > 0)
            {
                for (int i = 0; i < TipiObjektov.Count(); i++)
                {
                    var clan = EntityFactory.CreateInstance<SkupinaClan>();
                    clan.SkupinaID = getInputInteger("skupinaid");
                    clan.TipObjektaId = TipiObjektov[i];
                    clan.KljucId = Kljuci[i];

                    var slService = ServiceFactory.GetService<ISkupineClaniService>();
                    slService.Create(clan, this.UserSession);
                }
            }

        }
    }
}
